package cn.ilovese.collect.service.user;

import cn.ilovese.collect.vo.InviteGroupVO;
import cn.ilovese.collect.vo.ResultVO;
import cn.ilovese.collect.vo.task.TaskVO;
import cn.ilovese.collect.vo.user.UserVO;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

public interface UserService {
    public ResultVO<UserVO> userRegister(UserVO vo);

    ResultVO<UserVO> userLogin(String username, String password);

    ResultVO<UserVO> userLoginWithEmail(String username, String password);

    UserVO getUser(Integer uid);

    ResultVO<UserVO> updateUserInfo(UserVO userVO);

    ResultVO<List<UserVO>> getAllWorkers();

    Map<String, Object> getContributeCount(Integer workerid);

    ResultVO<Integer> inviteWorkers(InviteGroupVO inviteGroupVO);

    ResultVO<List<TaskVO>> getInvitedTaskByWorkerId(Integer workerid);
}
